import Vue from 'vue'
import App from './App.vue'
// 引入Sass的入口文件
import '@/assets/scss/index.scss';
// 关闭Vue的生产提示
Vue.config.productionTip = false;

// 引入路由
import router from './router/index'

// 引入axios
import axios from 'axios'
axios.defaults.headers.post['Content-Type'] = 'application/json' // 配置post请求的请求头

// 引入echarts
import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts // 全局绑定echarts

// ------------------------------环境配置--------------------------------------
// 开发环境：
axios.defaults.baseURL = 'http://localhost:8181' // 配置请求根路径
import global from '../src/environment/devGlobal.vue';
Vue.prototype.GLOBAL = global
// 生产环境：
// axios.defaults.baseURL = 'http://47.120.4.210:8181' // 配置请求根路径
// import global from '../src/environment/proGlobal.vue';
// Vue.prototype.GLOBAL = global
// ----------------------------------------------------------------------------

// 请求拦截器 当sessionStorage中有token时，放到请求头中
axios.interceptors.request.use(config => {
  let token = sessionStorage.getItem('token')
  if (token != null && token != '') {
    config.headers.token = token
  }
  return config
}, error => {
  return Promise.reject(error)
})
Vue.prototype.$axios = axios

// 全局引入element-ui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

new Vue({
  render: h => h(App),
  router, // 配置关联路由到Vue实例对象
  beforeCreate() { // 在Vue实例对象的beforeCreate生命周期函数中安装
    Vue.prototype.$bus = this //安装全局事件总线$bus，其实$bus就是当前应用的vm
  }
}).$mount('#app')
